import random

def calculate_pi(num_samples):
    """
    使用蒙特卡罗方法计算圆周率 π
    """
    points_inside_circle = 0
    
    for _ in range(num_samples):
        # 在 [-1, 1] 区间内生成随机点
        x = random.uniform(-1, 1)
        y = random.uniform(-1, 1)
        
        # 检查点是否在单位圆内
        if x**2 + y**2 <= 1:
            points_inside_circle += 1
            
    # 估算 π 值
    pi_estimate = 4 * points_inside_circle / num_samples
    return pi_estimate

# 测试
num_samples = 1000000 # 样本数越多，结果越精确
pi = calculate_pi(num_samples)
print(f"经过 {num_samples} 次采样，估算的 π 值为: {pi}")